Trait isotope::ctx::ty::TyCtxMut[][src]

pub trait TyCtxMut {
    type ConsCtx: ConsCtx + ?Sized;
    type TermEqCtx: TermEqCtxMut;
    type MaxDeref: TyCtxMut;
Show methods fn infer(&mut self, ix: u32) -> Option<TermId>;
fn constrain(
        &mut self,
        ix: u32,
        annot: &TermId
    ) -> Result<Option<bool>, Error>;
fn check(&mut self, ix: u32, annot: &TermId) -> Result<Option<bool>, Error>;
fn push_param(&mut self, param_ty: Option<&TermId>) -> Result<(), Error>;
fn pop_param(&mut self) -> Result<(), Error>;
fn global_tyck_mask(&self, filter: VarFilter) -> L4;
fn var_tyck_mask(&self, filter: VarFilter) -> L4;
fn annot_tyck_mask(&self, filter: VarFilter) -> L4;
fn approx_tyck(&self, flags: TyckFlags, filter: VarFilter) -> Option<bool>;
fn approx_global_tyck(
        &self,
        flags: TyckFlags,
        filter: VarFilter
    ) -> Option<bool>;
fn approx_var_tyck(
        &self,
        flags: TyckFlags,
        filter: VarFilter
    ) -> Option<bool>;
fn approx_annot_tyck(
        &self,
        flags: TyckFlags,
        filter: VarFilter
    ) -> Option<bool>;
fn ty_ctx_base(&self) -> u32;
fn reset_unbound(&mut self) -> Result<(), Error>;
fn cons_ctx(&mut self) -> &mut Self::ConsCtx;
fn eq_ctx(&mut self) -> &mut Self::TermEqCtx;
fn ctx(&mut self) -> &mut Self::MaxDeref;
}
Expand description

A context for mutably type-checking terms

Associated Types

Get this context’s underlying consing context, if any

Get this context’s underlying equality checking context, if any

Get this context’s maximally dereferenced type, if any

Required methods

Attempt to infer the type of an index

Constrain a variable to have a given annotation. Return whether this constraint typechecks

Check whether a variable is compatible with a given annotation.

Push a parameter onto this context with an optional annotation

Pop a parameter from this context.

Get whether this context is universal for true/false global type-checking values given a filter

Get whether this context is universal for true/false variable type-checking values given a filter

Get whether this context is universal for true/false path type-checking values given a filter

Get whether this context assumes a value for type-checking given flags

Get whether this context assumes a value for globally type-checking given flags

Get whether this context assumes a value for variable type-checking given flags

Get whether this context assumes a value for path type-checking given flags

Get the base index of this context

Reset this context’s unbound variable constraints

Get this context’s underlying consing context

Get this context’s underlying equality checking context

Get this context’s underlying type

Implementations on Foreign Types

Implementors